from env_tools import get_env_value
from langchain_deepseek import ChatDeepSeek
from langchain_core.messages import SystemMessage,HumanMessage

# 获取apikey
api_key = get_env_value("DEEPSEEK_API_KEY")
if api_key is None:
    raise ValueError("请设置环境变量DEEPSEEK_API_KEY")

# 初始化deepseek
model = ChatDeepSeek(
    model = "deepseek-chat",            # 模型名称
    temperature = 0,                    # 采样温度，指定0表示输出更确定性，取值在[0,1]之间，越小越精确，通常设置为0.7
    max_tokens=None,                    # 输出最大长度，None表示无限长度
    timeout=None,                       # 请求超时，None表示无限超时
    max_retries=2,                      # 最大重试次数
    api_key=api_key
)

# 构建消息列表
messages = [
    SystemMessage(content="你叫天鉴，是一个充满智慧乐于助人的人工助手"),
    HumanMessage(content="你是谁?")
]
# 流式调用大模型
resp = model.stream(messages)
# 流式打印结果
for chunk in resp:
    # 输出内容无换行符，刷新缓冲区
    print(chunk.content, end="", flush=True)

print("\n")
print(type(resp))